package com.dlc.shop.bean.param;

import com.dlc.shop.bean.model.Product;
import com.dlc.shop.bean.model.Sku;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

/**
 * 商品参数
 * @author LGH
 */
@Data
public class ProductScoreParam{

    @Schema(description = "产品ID" )
    private Long prodId;

    @Schema(description = "状态" )
    private Integer status;

    @Schema(description = "商品名称" )
    @NotBlank(message = "商品名称不能为空")
    private String prodName;

    @Schema(description = "商品价格" )
    @NotNull(message = "请输入商品价格")
    private Double price;

    @Schema(description = "积分商品的配送方式，默认店铺配送" )
    private Product.DeliveryModeVO deliveryModeVo;

    @Schema(description = "商品价格" )
    @NotNull(message = "请输入商品原价")
    private Double oriPrice;

    @Schema(description = "库存量" )
    @NotNull(message = "请输入商品库存")
    private Integer totalStocks;

    @Schema(description = "简要描述,卖点等")
    private String brief;

    @Schema(description = "商品主图" )
    @NotBlank(message = "请选择图片上传")
    private String pic;

    @Schema(description = "商品视频" )
    private String video;

    @Schema(description = "品牌Id" )
    private Long brandId;

    @Schema(description = "商品类型(0普通商品 1拼团 2秒杀 3积分)" )
    private Integer prodType;

    @Schema(description = "商品图片" )
    @NotBlank(message = "请选择图片上传")
    private String imgs;

    @Schema(description = "sku列表字符串")
    private List<Sku> skuList;

    @Schema(description = "商品详情" )
    private String content;

    @Schema(description = "商品积分价格" )
    @NotNull(message = "请输入商品价格")
    private Integer scorePrice;

    @Schema(description = "运费模板id" )
    @NotNull(message = "请选择运费模板")
    private Long deliveryTemplateId;

    @Schema(description = "统一运费的运费金额" )
    private Double deliveryAmount;

    @Schema(description = "积分商品类型" )
    private Long scoreProdType;

    @Schema(description = "商品语言列表" )
    private List<ProdLangParam> prodLangList;

}
